package com.aididi.java8;

import org.assertj.core.util.Lists;

import java.util.List;
import java.util.stream.Collectors;

/**
 * @Auther: xuzexiang
 * @Date: 2018-10-27 0027 22:19
 * @Description:
 */
public class StreamDemo {
    /**
     * 利用stream().forEach()循环处理List
     */
    public static void main(String[] args) {
        //新建一个List 用的google提供的Guava  package com.google.common.collect;
        List<String> list = Lists.newArrayList();
        list.add("1");
        list.add("2");
        list.add("3");

        list.stream().forEach(string -> {
            System.out.println("list1--"+string);
        });

        /**
         * 利用stream().map()处理List，并给另外一个List赋值
         */

        List<String> list1 = Lists.newArrayList();
        List<String> list2;
        list1.add("1");
        list1.add("2");
        list1.add("3");

        list2 = list1.stream().map(string -> {
            return "stream().map()处理之后：" + string;
        }).collect(Collectors.toList());

        list2.stream().forEach(string -> {
            System.out.println("list2--"+string);
        });

        /**
         * 利用stream().filter()处理List,对该List进行过滤处理
         */

        List<String> list3 = Lists.newArrayList();
        List<String> list4 = Lists.newArrayList();
        list3.add("1");
        list3.add("1");
        list3.add("2");
        list3.add("3");

        list4 = list3.stream().filter(s -> !"1".equals(s)).collect(Collectors.toList());
        System.out.println("list3"+list4.toString());

    }
}
